import axios from 'axios';

import  {setToken,http,clearToken} from '@/utils/index'

export const login = (mobile, code) => {
  return async (dispatch, getState) => {
    // const res = await axios.post(
    //   'http://geek.itheima.net/v1_0/authorizations',
    //   {
    //     mobile,
    //     code,
    //   }
    // );
      // 注意：此处获取的是 token
    // const { token } = res.data.data;

      const data= await  http.post('/authorizations', {
        mobile,
        code
      })
  
    // localStorage.setItem('geek-token', token);
    // setToken(token)
    setToken(data.token)
    dispatch({ type: 'login/setToken', payload: data.token });
  };
};




// export  const  getUserInfo =()=>{
//    return  async  (dispatch,getState)=>{
//     const  data= await http.get('/user/profile', {
//        headers :{
//         Authorization: `Bearer ${getState().user.token}`
//        }
//     })
//     dispatch({type:'user/getUserInfo',payload:data.name})
//    }
// }


 export const getUserInfo = () => {
  return async (dispatch,getState)=> {
    const data = await http.get('/user/profile')

    dispatch({type:'user/getUserInfo',payload:data.name})
  }
}




// 11-退出登录
// 目标：能够实现退出功能步骤：

// 为气泡确认框添加确认回调事件
// 在回调事件中，分发退出的异步 action
// 在异步 action 中删除本地 token，并且分发 action 来清空 redux 状态
// 清空用户信息
// 退出后，返回到登录页面
export  const  logout=()=>{
    return   (dispatch, getState)=>{
        clearToken()
         // 清除 token 和 name 

         dispatch({type:'login/setToken', payload:''})
         dispatch({type:'user/setName', payload:''})
        
    }
}